1. Field of the Invention
The present invention relates to the data store synchronization and, more particularly, to a technique for situationally bypassing a synchronization server of a three tiered synchronization system.
2. Description of the Related Art
Handheld devices are commonly synchronized with a remotely located computer so that email, contact information, calendar events, tasks, and the like are consistent between the handheld device and the computer. Conventionally, a three tiered approach is taken to synchronize the data on the handheld device. In the three tiered approach, a synchronization client residing on the handheld device connects to an intermediate server called a synchronization server, which in turn connects to a personal information management (PIM) server or other data server that resides on the remotely located computer.
More specifically, synchronization operations are typically controlled by the synchronization client that uses a well defined communication protocol, such as SyncML, to convey a synchronization request to the synchronization server. The synchronization server connects to the PIM server to query whether the PIM server includes data more current than the data which resides in the synchronization client. When data needs to be updated, the data is retrieved by the synchronization server from the PIM server and conveyed to the synchronization client. When data does not need to be updated, the synchronization server conveys a notification to the synchronization client indicating that the client contains current information. Similarly, the synchronization server can query the synchronization client for updated information and can convey any updated data found from the synchronization client to the PIM server as appropriate.
Under the conventional three tiered synchronization methodology, however, it is common for a synchronization client to submit a synchronization request when there is no information on the PIM server that needs to be conveyed to the synchronization client and when there is no information on the synchronization client that needs to be conveyed to the PIM server. A synchronization attempt that results in no data being conveyed between the synchronization client and the PIM server can be referred to as an “empty update”.
Empty updates can be problematic as a significant amount of processing occurs within the synchronization server (which establishes a connection with both the PIM server and the synchronization client and queries both data stores) for synchronization attempts that result in empty updates. There can also be a substantial delay for users of the handheld devices (typically fifteen to thirty seconds) before the users are informed that no information needs to be updated.
The delay and processing overhead can be increasingly troublesome when multiple users attempt to update their own handheld devices via the synchronization server at approximately the same time, such as when arriving at work in the morning, as a substantial processing bottleneck can occur at the synchronization server. What is needed is a method to detect empty updates and to bypass going to the synchronization server so that user delays can be reduced, synchronization server resources can be conserved, and PIM server resources can be conserved.